package com.taobao.api.convert;

import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import com.taobao.api.TaobaoApiException;
import com.taobao.api.model.SellerCat;
import com.taobao.api.util.ApiConstants;

/**
 * @author gaoweibin.tw
 *
 */
public class TaobaoSellerJSONConvert {
	
	/**
	 * 将返回的Json转换为SellerCat
	 * 
	 * @param json
	 *            JSONObject
	 * @return SellerCat
	 * @throws TaobaoApiException
	 */
	public static SellerCat convertJsonToSellerCat(JSONObject json) throws JSONException {
		SellerCat newSellerCat = new SellerCat();
		if (json.has(ApiConstants.CID)) {
			newSellerCat.setCid(json.getString(ApiConstants.CID));
		}
		if (json.has(ApiConstants.IS_PARENT)) {
			newSellerCat
					.setIsParent("true".equals(json.getString(ApiConstants.IS_PARENT)) ? true
							: false);
		}
		if (json.has(ApiConstants.NAME)) {
			newSellerCat.setName(json.getString(ApiConstants.NAME));
		}
		if (json.has(ApiConstants.PARENT_CID)) {
			newSellerCat.setParentCid(json.getString(ApiConstants.PARENT_CID));
		}
		if (json.has(ApiConstants.NICK)) {
			newSellerCat.setNick(json.getString(ApiConstants.NICK));
		}
		return newSellerCat;
	}
	
	/**
	 * 将返回的JsonArray转换为List<code><</code>SellerCat>
	 * 
	 * @param jsonArray
	 *            Json数组
	 * @return List<code><</code>SellerCat>
	 * @throws TaobaoApiException
	 */
	public static List<SellerCat> convertJsonArrayToSellerCatList(JSONArray jsonArray) {
		List<SellerCat> getSellerCatList = new ArrayList<SellerCat>();
		SellerCat sellerCat = null;
		for (int i = 0; i < jsonArray.length(); i++) {
			sellerCat = new SellerCat();
			try {
				sellerCat = convertJsonToSellerCat(jsonArray.getJSONObject(i));
			} catch (JSONException e) {
				e.printStackTrace();
			}
			getSellerCatList.add(sellerCat);
		}
		return getSellerCatList;
	}
}
